<?php
// +-----------------------------------------------------------------------+
// |                                                                       |
// | WebFormsQA     (Question - Answer)                                    |
// | Copyright  (C) 2010                                                   |
// | Official site  www.scale-tech.ru                                      |
// | email          scale-tech@mail.ru                                     |
// | autor          Alexander Demachev                                     |
// |                                                                       |
// | This program is free software; you can redistribute it and/or modify  |
// | it under the terms of the GNU General Public License as published by  |
// | the Free Software Foundation; version 2 of the License.               |
// |                                                                       |
// | This program is distributed in the hope that it will be useful,       |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of        |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         |
// | GNU General Public License for more details.                          |
// +-----------------------------------------------------------------------+


/**
 * @file tools.test.php
 * @brief файл содержит код для тестирования класса Tools \n
 * @include tools.test.php
 */

/*! @addtogroup TestWebFormsQA Tестирование проекта WebFormsQA
 *  Группа включает классы для тестирования исходного кода
 *  @{
 */


/**
 * @class ToolsTest
 * @brief Класс для тестирования методов класса Tools логически слабо связанных \n
 *        Исходный код [ @ref tools.test.php ] 
 */
class ToolsTest extends PHPUnit_TestCase {

	/** тестирование метода записи Хеша от строки в файл */
    function testSaveHash()
    {

        $name_file = 'file_save_hash';
        $str = 'string1';
        $this->assertTrue($hash = Tools::saveHash($str, $name_file));

        $etalon = md5($str);
        $this->assertTrue(file_exists($name_file));
        $this->assertEquals($etalon, $hash);

        $etalon = sha1($str);
        $this->assertTrue($hash = Tools::saveHash($str, $name_file, 'sha1'));
        $this->assertEquals($etalon, $hash);

        $etalon = crc32($str);
        $this->assertTrue($hash = Tools::saveHash($str, $name_file, 'crc32'));
        $this->assertEquals($etalon, $hash);

        $str = 'sdfadfasdf';
        $this->assertTrue($hash = Tools::saveHash($str, $name_file));
        $this->assertTrue(file_exists($name_file));
        unlink($name_file);
    }


} // ToolsTest

/*! @} */

?>
